package org.elanfox.intellicommunity.biz.service.core.msg;

import org.elanfox.intellicommunity.biz.dto.msg.LocationMsgDTO;
import org.elanfox.intellicommunity.biz.entity.msg.LocationMsgPO;
import org.elanfox.intellicommunity.data.base.base.SearchableCrudService;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

/**
 * @author allan
 * @version 1.0.0
 * @date 2019/12/19
 */
public interface LocationMsgService extends SearchableCrudService<LocationMsgPO, Long> {
    /**
     * 得到全部最新的定位信息
     *
     * @return
     */
    List<Object> findLastAll();

    /**
     * 根据用户找到最新的一条定位消息
     *
     * @param userId
     * @return
     */
    LocationMsgDTO findLastByUser(Integer userId);

    /**
     * 根据用户id，时间段，创建
     *
     * @param userId
     * @return
     */
    Map<String, List> createTrackDto(Integer userId, LocalDateTime startTime, LocalDateTime endTime);

    /**
     * 得到某图层所有的最新定位信息
     *
     * @param structureId
     * @return
     */
    List<Object> findLastAllByMap(Integer structureId);

    List<Object> findLastAllByStrId(Integer structureId);
}
